Codec negotiation is a call session establishment process in which user devices (e.g., a calling user device and a called user device) each provide a codec list in order to determine a common codec between the calling user device and called user device. The codecs may be used to process data flows (e.g., audio/video data flows) transmitted between the calling user device and called user device. For example, codecs can be used to encode a data flow and to decode an encoded data flow. When a codec in both codec lists match (e.g., when the calling user device and the called user device are compatible with a common codec), the calling user device and the called user device may use the common codec in order to process/transmit the data flows. In a situation where the codec lists do not include a common codec, transcoding may need to be performed, thereby reducing audio/video transmission quality and increasing network load.